var express = require('express');
var router = express.Router();
var {movie_model,user_model} = require("../db/model")
var {FindOneData} = require('../db')
var {aesEncrypt} = require("../utils/crypto.js")
/* GET users listing. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});

router.get("/test",(req,res)=>{
   res.send("test - test - ARe  YOU Ok?")
})

router.get("/demo",(req,res)=>{
  res.send("Demo  - WH2114- Demo ")
})

router.get("/html",(req,res)=>{
  res.send("wh2114- 奋斗周末")
})


router.post("/register",(req,res)=>{
    var body = req.body;
    console.log(body)
    // 操作数据库 
    // 判断用户已经被使用
    user_model.findOne({
       username:body.username, 
    })
    .then(result=>{
      if(result){
        // 已经被注册了,请重新注册 
        res.send(`<script>alert('用户已经注册,请重新注册.');location.href='/register'</script>`)
      }else{
        // 立即注册 
        body.time = new Date()
        user_model.insertMany(body)
        .then(data=>{
            res.send(`<script>alert('注册成功,请立即登录.');location.href='/login?username=${aesEncrypt(body.username)}'</script>`)
        })
      }
    })
    .catch(err=>{
      res.send("服务器异常")
    })
})

// 登录
router.all("/login",(req,res)=>{
   var body = req.body;
   console.log(body)
  // 数据库操作 
  // 查询  
  FindOneData({
    model:user_model,
    query:body,
    filed:{},
    callback(result){
      if(result){
        req.session.username = body.username
        req.session.userInfo = result;
        res.redirect("/");  // 重定向到Index 
      }else{
        res.send(`<script>alert('用户名或密码不正确,请重新登录');location.href='/login'</script>`)
      }
    },
    res,
  })
  // user_model.findOne({
  //   username:body.username,
  //   password:body.password
  // })
  // .then(result=>{
  //     if(result){
  //       res.redirect("/");  // 重定向到Index 
  //     }else{
  //       res.send(`<script>alert('用户名或密码不正确,请重新登录');location.href='/login'</script>`)
  //     }
  // })
  // .catch(err=>{
  //   res.send("服务器异常")
  // })
  //  res.send('登录成功')
})


module.exports = router;
